The present invention relates to data storage systems equipped with an arbitration (i.e., shared/exclusive control) function among plural high-rank apparatuses. Here, the data storage systems exist within a computer system that uses volumes for making data copy into apparatuses such as disk devices which configure storage systems located at remote districts (i.e., remote copy). More particularly, the present invention is a one which is preferable for a shared/exclusive control scheme and its devices in a computer system equipped with a shared/exclusive control function like this.
The present invention provides a computer system that allows the implementation of an arbitration which is preferable for a shared-disk model cluster system constructed using plural high-rank apparatuses including volumes for making the remote copy into remote districts.
In a computer system which has configured an information processing system including host computers, i.e., high-rank apparatuses, and plural storage device systems, i.e., plural storage systems, the remote copy exists as a technology for making data copy among the plural storage device systems. This remote copy is the following technology: Namely, in an information processing system, the remote-copy technology allows plural storage device systems to make copy of data, i.e., double-writing of the data, with each other and without intervention of high-rank apparatuses. Here, the above-described storage device systems exist at places which are physically apart from each other. Also, the storage device systems refer to the so-called storage systems, i.e., the systems each of which includes plural storage devices and a controller for controlling these storage devices.
In the information processing system where the remote copy like this is performed, the storage device systems located at physically apart places are connected to each other via dedicated lines or public lines. The dedicated lines or public lines used for this connection are designated as “remote-copy lines”, but hereinafter, will be referred to as “dedicated lines or the like”.
Of logical memory areas (hereinafter, referred to as “logical volumes”) that a certain storage device system possesses, the logical volume whose capacity is the same as that of a logical volume (hereinafter, referred to as “copy-source logical volume”) which becomes the target of a remote copy is reserved within a storage device system into which the copy-source logical volume is to be copied. This logical volume reserved (hereinafter, referred to as “copy-destination logical volume”) is formed in such a manner that this logical volume will have a one-to-one correspondence relationship (hereinafter, referred to as “copy pair”) with the copy-source logical volume. Data stored in the copy-source logical volume is copied into the copy-destination logical volume via the dedicated lines or the like.
If the data stored in the copy-source logical volume has been updated, the data updated is transferred via the dedicated lines or the like to the storage device system that includes the copy-destination logical volume. As a result, the updated data is written into the copy-destination logical volume corresponding to the copy-source logical volume. The employment of the remote-copy technology allows the logical volumes with the same contents to be held among the plural storage device systems in the information processing system that includes the plural storage device systems.
The creation of the copy pair formed of the copy source and the copy destination determines the copy direction as being a one-way direction, i.e., the direction from the copy source to the copy destination. Each high-rank apparatus finds it possible to perform a Write processing into the copy-source logical volume. Conversely, each high-rank apparatus finds it impossible to perform the Write processing into the copy-destination logical volume. The technology on the remote copy has been disclosed in JP-A-2003-076592, or in U.S. Pat. No. 5,742,792.
Conventionally, based on a shared/exclusive control request from an arbitrary high-rank apparatus, a storage device shared by plural high-rank apparatuses implements the shared/exclusive control over access requests from the respective high-rank apparatuses. For example, in an information processing system where the SCSI (: Small Computer System Interface) is employed as an interface between the high-rank apparatuses and the storage device, the employment of a Reserve-oriented command defined by the SCSI allows the implementation of the shared/exclusive control over the storage device on each logical-volume basis.
If a certain high-rank apparatus has reserved a logical volume of the storage device, the logical volume falls in a state where a Read or Write access from only the high-rank apparatus that has reserved the volume is permissible. Incidentally, concerning the technology on the SCSI, the explanation has been given on Item 6. 15 of “SCSI-2” Detailed Commentary described in “SCSI-2” (3rd ed. published on Feb. 1, 1997 by CQ Publishing Inc.)
In the existing remote-copy technology environment, no consideration has been given to the shared/exclusive control mechanism by the SCSI Reserve-oriented command. When a logical volume within a certain storage device system has been locked by the Reserve-oriented command, the locked state is configured so as not to be transmitted to the remote-copy corresponding logical volume within another storage device system.
As the other shared/exclusive control methods, there exist a Lock-file used method using a shared volume within a storage device to be shared, and a shared/exclusive control method using a specific sector of the disk.
Also, the clustering (which, simply, is also referred to as “cluster”) is a publicly-known technology for connecting plural high-rank apparatuses (e.g., host computers or host servers) thereby to make it possible to cause the high-rank apparatuses to behave as if they were a single stand-alone apparatus. The clustering is used for the purpose of parallel processing, load balance, and fault tolerance. The cluster servers, which are the high-rank apparatuses that configure the cluster (i.e., cluster computing system), spread and distribute a computer load or risk in cooperation with each other. Even if, for example, a failure has occurred in one server within the cluster computing system, the operating system finds it possible to transfer the processing in failure to one of the other normally-operating servers within the system. This permits the user to continue the job even during the time-period which elapses until the failed server has been recovered.
The respective high-rank apparatuses in the high-rank apparatus group that configures the cluster are connected via a network for connecting the high-rank apparatus group. This network is, typically, an IP (: Internet protocol) used network such as the Internet. The use of this network allows the respective high-rank apparatuses to communicate their mutual states with each other. This communication is referred to as “cluster communication”, or “heart-beat communication”.
The cluster of a model where plural high-rank apparatuses are connected to one storage device thereby to configure the cluster computing system is referred to as “shared-disk model cluster. As a model of this shared-disk model cluster, there exists the following one: When the heart-beat communication is lost, the shared/exclusive control is performed using a logical volume within the shared disk, thereby confirming mutual operating states of the high-rank apparatuses. This confirmation is performed in order to prevent the occurrence of a situation where a processing in execution is split and the high-rank apparatuses operate individually (i.e., split brain). This control of preventing the split of a processing is referred to as “arbitration”. For example, a Microsoft Cluster Server (hereinafter, abbreviated as “MSCS”) is a server equipped with this arbitration function.
Incidentally, the present invention is not limited to the MSCS, but is applicable to the system in general which performs the shared/exclusive control in a computer system using the shared-disk device. Here, however, the present invention will be explained by selecting the MSCS as the example. In the MSCS, the issuing of a SCSI command is performed to a for-management volume (arbitration-purpose disk, arbitration-purpose volume, or quorum disk) for performing the exclusive control, thereby implementing the shared/exclusive control and thus avoiding the split-brain state. Concerning the operation of the Microsoft Cluster, the disclosure has been made in U.S. Pat. No. 6,279,032 and U.S. Pat. No. 6,401,120.